package com.jdd.modules.operationLog.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jdd.common.util.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 车场交接记录
 * @Author: jdd
 * @Date: 2021-11-04
 * @Version: V1.0
 */
@Data
@TableName("park_hand_over_log")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "park_hand_over_log对象", description = "车场交接记录")
public class ParkHandOverLog {

    /**
     * 主键
     */
    @TableId(type = IdType.ID_WORKER_STR)
    @ApiModelProperty(value = "主键")
    private String id;
    /**
     * 停车场名称
     */
    @Excel(name = "停车场编码", width = 15)
    @ApiModelProperty(value = "停车场编码")
    private String parkCode;
    /**
     * 停车场名称
     */
    @Excel(name = "停车场名称", width = 15)
    @ApiModelProperty(value = "停车场名称")
    private String parkName;
    /**
     * 工作站名称
     */
    @Excel(name = "工作站名称", width = 15)
    @ApiModelProperty(value = "工作站名称")
    private String workName;
    /**
     * 终端类型
     */
    @Excel(name = "终端类型", width = 15)
    @ApiModelProperty(value = "终端类型")
    private Integer terminalType;
    /**
     * 当前操作员名
     */
    @Excel(name = "当前操作员", width = 15)
    @ApiModelProperty(value = "当前操作员")
    private String operationName;
    /**
     * 当前操作员真实姓名
     */
    @Excel(name = "当前操作员真实姓名", width = 15)
    @ApiModelProperty(value = "当前操作员真实姓名")
    private String realName;
    /**
     * 接班人名字
     */
    @Excel(name = "接班人名字", width = 15)
    @ApiModelProperty(value = "接班人名字")
    private String handOverName;
    /**
     * 上班时间
     */
    @Excel(name = "上班时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "上班时间")
    private Date upTime;
    /**
     * 交班时间
     */
    @Excel(name = "交班时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "交班时间")
    private Date overTime;
    /**
     * 人工应收
     */
    @Excel(name = "人工应收", width = 15)
    @ApiModelProperty(value = "人工应收")
    private BigDecimal manualReceivable;
    /**
     * 人工实收
     */
    @Excel(name = "人工实收", width = 15)
    @ApiModelProperty(value = "人工实收")
    private BigDecimal manualPaid;
    /**
     * 人工免费
     */
    @Excel(name = "人工免费", width = 15)
    @ApiModelProperty(value = "人工免费")
    private BigDecimal manualFree;
    /**
     * 人工抵扣费用
     */
    @Excel(name = "人工抵扣费用", width = 15)
    @ApiModelProperty(value = "人工抵扣费用")
    private BigDecimal manualDeduction;
    /**
     * 电子应收
     */
    @Excel(name = "电子应收", width = 15)
    @ApiModelProperty(value = "电子应收")
    private BigDecimal onlineReceivable;
    /**
     * 电子实收
     */
    @Excel(name = "电子实收", width = 15)
    @ApiModelProperty(value = "电子实收")
    private BigDecimal onlinePaid;
    /**
     * 电子免费
     */
    @Excel(name = "电子免费", width = 15)
    @ApiModelProperty(value = "电子免费")
    private BigDecimal onlineFree;
    /**
     * 电子抵扣
     */
    @Excel(name = "电子抵扣", width = 15)
    @ApiModelProperty(value = "电子抵扣")
    private BigDecimal onlineDeduction;
    /**
     * 总放行数
     */
    @Excel(name = "总放行数", width = 15)
    @ApiModelProperty(value = "总放行数")
    private Integer allOutNum;
    /**
     * 正常放行数
     */
    @Excel(name = "正常收费放行数", width = 15)
    @ApiModelProperty(value = "正常收费放行数")
    private Integer normalFeeOut;
    /**
     * 正常放行数
     */
    @Excel(name = "正常自动放行数", width = 15)
    @ApiModelProperty(value = "正常自动放行数")
    private Integer normalNoFeeOut;
    /**
     * 免费放行数
     */
    @Excel(name = "免费放行数", width = 15)
    @ApiModelProperty(value = "免费放行数")
    private Integer freeOut;
    /**
     * 异常放行数
     */
    @Excel(name = "异常放行数", width = 15)
    @ApiModelProperty(value = "异常放行数")
    private Integer abnormalOut;
    /**
     * 创建时间
     */
    @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * 备注
     */
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 是否成功同步到云端 N:失败 Y:成功
     */
    @ApiModelProperty(value = "是否成功同步到云端 N:失败 Y:成功")
    private String synchronousStatus;
}
